# Make file for uTasker V1.3 build for Coldfire M5223X
#

# All objects (Hardware, application, uTasker, stack)
#
OBJS = Build\application.o Build\debug.o Build\webInterface.o Build\KeyScan.o Build\LCD.o Build\NetworkIndicator.o \
       Build\Startup_gnu.o Build\M5223X.o \
       Build\eth_drv.o Build\iic_drv.o Build\Driver.o Build\uMalloc.o Build\uTasker.o Build\Tty_drv.o Build\uFile.o Build\watchdog.o Build\GlobalTimer.o Build\low_power.o \
       Build\Ethernet.o Build\arp.o Build\dhcp.o Build\dns.o Build\ftp.o Build\http.o Build\icmp.o Build\ip_utils.o Build\ip.o Build\pop3.o Build\smtp.o \
                        Build\tcp.o Build\telnet.o Build\tftp.o Build\udp.o Build\webutils.o Build\NetBIOS.o


#General dependencies
#
DEPENDS = ..\config.h ..\app_hw_m5223x.h ..\types.h ..\TaskConfig.h ..\..\..\uTasker\driver.h ..\..\..\uTasker\uTasker.h \
       ..\..\..\Hardware\hardware.h ..\..\..\Hardware\M5223X\M5223X.h \
       ..\..\..\stack\tcpip.h



all: uTaskerV1.3.elf

# Application files
#
Build\application.o: ..\application.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\application.c -o Build\application.o

Build\debug.o: ..\debug.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\debug.c -o Build\debug.o

Build\webInterface.o: ..\webInterface.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\webInterface.c -o Build\webInterface.o

Build\KeyScan.o: ..\KeyScan.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\KeyScan.c -o Build\KeyScan.o

Build\LCD.o: ..\LCD.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\LCD.c -o Build\LCD.o

Build\NetworkIndicator.o: ..\NetworkIndicator.c $(DEPENDS) ..\application.h
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\NetworkIndicator.c -o Build\NetworkIndicator.o


# Hardware files
#
Build\Startup_gnu.o: ..\..\..\Hardware\M5223X\Startup_gnu.s m52235evb-rom.ld
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes  -D _GNU -D _M5223X -g -c -Os ..\..\..\Hardware\M5223X\Startup_gnu.s -o Build\Startup_gnu.o

Build\M5223X.o: ..\..\..\Hardware\M5223X\M5223X.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\Hardware\M5223X\M5223X.c -o Build\M5223X.o



# uTasker files
#
Build\uTasker.o: ..\..\..\uTasker\uTasker.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\uTasker.c -o Build\uTasker.o

Build\eth_drv.o: ..\..\..\uTasker\eth_drv.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\eth_drv.c -o Build\eth_drv.o

Build\iic_drv.o: ..\..\..\uTasker\iic_drv.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\iic_drv.c -o Build\iic_drv.o

Build\Driver.o: ..\..\..\uTasker\Driver.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\Driver.c -o Build\Driver.o

Build\uMalloc.o: ..\..\..\uTasker\uMalloc.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\uMalloc.c -o Build\uMalloc.o

Build\Tty_drv.o: ..\..\..\uTasker\Tty_drv.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\Tty_drv.c -o Build\Tty_drv.o

Build\uFile.o: ..\..\..\uTasker\uFile.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\uFile.c -o Build\uFile.o

Build\watchdog.o: ..\..\..\uTasker\watchdog.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\watchdog.c -o Build\watchdog.o

Build\GlobalTimer.o: ..\..\..\uTasker\GlobalTimer.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\GlobalTimer.c -o Build\GlobalTimer.o

Build\low_power.o: ..\..\..\uTasker\low_power.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\uTasker\low_power.c -o Build\low_power.o



# uTasker TCP/IP files
#
Build\Ethernet.o: ..\..\..\stack\Ethernet.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\Ethernet.c -o Build\Ethernet.o

Build\arp.o: ..\..\..\stack\arp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\arp.c -o Build\arp.o

Build\dhcp.o: ..\..\..\stack\dhcp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\dhcp.c -o Build\dhcp.o

Build\dns.o: ..\..\..\stack\dns.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\dns.c -o Build\dns.o

Build\ftp.o: ..\..\..\stack\ftp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\ftp.c -o Build\ftp.o

Build\http.o: ..\..\..\stack\http.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\http.c -o Build\http.o

Build\icmp.o: ..\..\..\stack\icmp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\icmp.c -o Build\icmp.o

Build\ip_utils.o: ..\..\..\stack\ip_utils.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\ip_utils.c -o Build\ip_utils.o

Build\ip.o: ..\..\..\stack\ip.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\ip.c -o Build\ip.o

Build\pop3.o: ..\..\..\stack\pop3.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\pop3.c -o Build\pop3.o

Build\smtp.o: ..\..\..\stack\smtp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\smtp.c -o Build\smtp.o

Build\tcp.o: ..\..\..\stack\tcp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\tcp.c -o Build\tcp.o

Build\telnet.o: ..\..\..\stack\telnet.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\telnet.c -o Build\telnet.o

Build\tftp.o: ..\..\..\stack\tftp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\tftp.c -o Build\tftp.o

Build\udp.o: ..\..\..\stack\udp.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\udp.c -o Build\udp.o

Build\webutils.o: ..\..\..\stack\webutils.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\webutils.c -o Build\webutils.o

Build\NetBIOS.o: ..\..\..\stack\NetBIOS.c $(DEPENDS)
		m68k-elf-gcc -mcpu=52235 -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -c -Os ..\..\..\stack\NetBIOS.c -o Build\NetBIOS.o


# Link
# Create output file and show its size
#
uTaskerV1.3.elf: $(OBJS) m52235evb-rom.ld
	m68k-elf-gcc -mcpu=52235 -nostartfiles -Wall -Wstrict-prototypes -I..\..\uTaskerV1.3 -D _GNU -D _M5223X -g -Os -Wl,-Map=uTaskerV1.3.map -Tm52235evb-rom.ld -o uTaskerV1.3.elf $(OBJS)
	m68k-elf-objcopy --output-target=srec uTaskerV1.3.elf uTaskerV1.3.s19
	m68k-elf-size   uTaskerV1.3.elf

.PHONY: clean
clean:
	rm uTaskerV1.3.map
	rm uTaskerV1.3.elf
	rm uTaskerV1.3.s19


# *** EOF ***
